home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 50
/
Aminet 50 (2002)(GTI - Schatztruhe)[!][Aug 2002].iso
/
Aminet
/
dev
/
misc
/
GEngine.readme
< prev
next >
Wrap
Text File
|
2002-05-19
|
6KB
|
183 lines
Short: GEngine OOP library + misc GUI & font independent sources
Author: pdroldan@yahoo.com (Pablo Roldan)
Uploader: pdroldan@yahoo.com (Pablo Roldan)
Type: dev/misc
Replaces: dev/misc/geavl.lzh
--------------------------------------------------------------------
GEngine shared library version 0.1
(c)2001-2002 by Pablo Roldan
note: this archive replaces geavl.lzh (avl trees in PCQ Pascal)
which were not working at all (I prefer not to talk about it).
1. The library
-----------
This library was thought at a first moment to gather all de graphic
and GUI routines that I had written. Later on, this become into a
library that allow AmigaOS1.3 users to create screen and font
sensitive GUIs. Therefore allowing 1.3 programs to show a correct
GUI in both 1.3 and 2.0+ systems.
Although this goal has not been achieved at the time,
the library incorporates:
- Colour matching routines, as GetBestPen, that returns the closest
palette entry to the passed RGB value.
- AVL trees routines, search, insert & delete criteria
customizable via hooks.
- Memory pools. Auto-expand/shrink in user defined chunks
- Object oriented system. A copy of BOOPSI, currently only the root
class implemented in the library.
- Taglists routines, also a copy of the ones in utility.library
2. The pascal sources
------------------
The pascal source include some test programs as well as gengine_d.i,
a include file containing the following:
- A custom slider gadget, capable of displaying text inside the knob
just like the MUI ones. Also is font sensitive.
Note: The current implementation has problems with visualprefs.
- A scalable & rotable vector graphics engine.
- A 'event handler', not the best one, but does it's job until now.
- A pop-up menu, font sensitive.
The test programs:
- testpop.p : This is the oldest one, it demoes the sliders,
vectors, pop-up menus and the color matching routines in
the library.
- test1.p : Test the color matching routines, opens 2 windows,
the 1st contains 3 sliders, one for each primary color, at the
right is a rectangle filled of the nearest color in the palette
that matched the values on the sliders.
The 2nd window display the standard GUI colors, DrawInfo like.
- test2.p : Test the scalable-rotable vector engine. Again the
program opens 2 windows, one contains a vector shape, the second
2 sliders that controls the angle and size of the vector shape
respectively.
- test3.p : Test AVL trees, only text displayed on
the CLI window. This is not the best test, as I discover later.
- testtag.p : Test both the taglist routines and class adding and
removing.
- testiclass.p : The last one, test a pascal-implemented imageclass,
this time 4 sliders allows you to move an image object (currently
only a box). The image moves by using the methods GIM_ERASE,
GM_SET and GM_DRAW.
3. The pascal includes
-------------------
These are the PCQ pascal includes to use the library with this
compiler.
Some of these have pascal source of some routines that have not been
yet added to the shared library.
4. Compiling
---------
The library has been written entirely in assembler, I use
phxass+blink to compile and link it.
To compile the pascal test programs you will need the PCQ pascal
compiler, you will also need to compile gengine/asm/gengine_pcq.asm
to gengine/asm/gengine_pcq.lib (glue routines) and
gengine/test/callhook.asm to gengine/asm/callhook.o (hook routines).
Then link the object code that created the pascal compiler with this
two files (and offcourse the pascal library).
5. Compatibility
-------------
Only an early version of the library has been tested on my real
Amiga 500. The entire development of the library has been doned on
a PeeCee running WinUAE.
However, I has tested the library under various kickstarts and
workbench configurations, and only found a visual problem with the
custom slider gadgets and the program visualprefs, this can be fixed
by making the slider BORDERLESS and letting it to refresh it's
border.
6. The future
----------
Currently the development is temporarily stopped, as I'm busy with
other GUI/Gfx related project. When I finish it (or get bored of it,
whatever happens first) I will continue developing the library.
Anyway... the future will bring us:
- fixed color matching routines to use the same API that the
included in kickstart v39+.
- further development will be done in C
(rewritting de Pascal code into asm is a REALLY slow process)
- code will take more advantage of newer OS versions.
- built in image class (among others)
- finished gadget class and vector graphics engine converted into a
built in class.
- better docs.
- nicer test programs.
- and a heap of things more...
7. Distribution
------------
The contents of this archive are all FREEWARE, you can use the
library and the source codes as you want.
If you find usefull some of this, write a program that uses the
library or, for some obscure reason you want to continue developing
the library, pleas e-mail me at the address listed below.
8. Contact
-------
You can reach me via e-mail at:
pdroldan@yahoo.com
or by snail mail:
Rivadavia 249 dto 6B
(9100) Trelew
Pcia. del Chubut
Argentina
My web page:
http://www.geocities.com/soft154i/index.htm
As you can see at my web page I'm very insterested in old 8/16 bits
computers, so any donation, either hardware, software or
documentation *is* VERY welcome.
9. Disclaimer
---------
No warranties of any kind are made as to the functionality of this
library and programs. You are using it at YOUR own risk.